#pragma warning disable 108
using System;
using System.Runtime.InteropServices;
using System.Collections.Generic;
using Cephei;
using Cephei.Generic;
namespace Cephei.QL
{
     // <summary> 
	// ! \test the observability of class instances is tested.
	// </summary>
    [Guid ("492C604C-3B70-4c00-A1F7-47D1E8A7CECE"),ComVisible(true)]
	public interface IQuote 
	{
		///////////////////////////////////////////////////////////////
        // Methods
        //
        
		 Boolean IsValid {get;}
        
		 Double Value {get;}
    }

    // <summary> 
	// ! \test the observability of class instances is tested. Factory
	// </summary>
   	[ComVisible(true)]
    public interface IQuote_Factory // : Collection_Factory<IQuote, ICell<IQuote>>
    {
        ///////////////////////////////////////////////////////////////
        // Factory methods
        //
        /// <summary>
        /// Create a hybrid Matrix of IQuote, with event notification of changes
        /// </summary>
        /// <returns>a new Matrix&ltIQuote&gt</returns>
        IMatrix<IQuote> CreateMatrix();
        /// <summary>
        /// Create a hybrid Matrix of ICell of IQuote, with event notification of changes
        /// </summary>
        /// <returns>a new ICell&ltIMatrix&ltI&ltIQuote&gt&gt&gt</returns>
        Generic.ICell<IMatrix<Generic.ICell<IQuote>>> CreateCellMatrix();
        IMatrix<IQuote> CreateMatrix(IEnumerable<Cephei.IVector<IQuote>> source);
        Generic.ICell<IMatrix<Generic.ICell<IQuote>>> CreateCellMatrix(IEnumerable<Cephei.IVector<Generic.ICell<IQuote>>> source);
        /// <summary>
        /// Create a hybrid Vector of IQuote, with event notification of changes
        /// </summary>
        /// <returns>a new Vector&ltIQuote&gt</returns>
        IVector<IQuote> CreateVector();
        /// <summary>
        /// Create a hybrid Vector of ICell of IQuote, with event notification of changes
        /// </summary>
        /// <returns>a new ICell&ltIVector&ltI&ltIQuote&gt&gt&gt</returns>
        Generic.ICell<IVector<Generic.ICell<IQuote>>> CreateCellVector();
        IVector<IQuote> CreateVector(IEnumerable<IQuote> source);
        Generic.ICell<IVector<Generic.ICell<IQuote>>> CreateCellVector(IEnumerable<Generic.ICell<IQuote>> source);
    }
}

